MCUXpresso SDK API Reference Manual  Rev 2.15.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
DCDC: DCDC Converter

Overview

The MCUXpresso SDK provides a peripheral driver for the DCDC Converter (DCDC) module of MCUXpresso SDK devices.

The DCDC converter module is a switching mode DC-DC converter supporting Buck, Boost, and Bypass mode. It can produce multiple switching outputs for SoC peripherals and external devices with high conversion efficiency. The converter can be operated in continuous or pulsed mode.

As a module to provide the power for hardware system, the DCDC would start working when the system is powered up before the software takes over the SoC. Some important configurations, like selecting BUCK/BOOST/BYPASS mode, is done in the board settings. Before the software can access the DCDC's registers, DCDC are already working normally with the default settings.

However, if the application needs to improve the DCDC's performance or change the default settings, DCDC driver would help. The DCDC's register can not be accessed by software before its initialization (open the clock gate). Then user can configure the hardware according to the application guide from RM.

Function groups

Initialization and deinitialization

This function group is to enable/disable the operations to DCDC module through the driver.

Status

Provides functions to get and clear the DCDC status.

Interrupts

Provides functions to enable/disable DCDC interrupts.

Misc control

Provides functions to set the DCDC's miscellaneous control.

Application guideline

Continuous mode

As guideline from RM, to have better efficiency and ripple. The following call is recommended:

Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/dcdc In boost mode, POSLIMIT_BOOST_IN is set to small value by default. To limit startup voltage, set it to 0x12 after startup, to provide high current to output, especially when battery voltage is low. The following call could be used.

Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/dcdc

Target voltage adjustment

To adjust target voltage of VDD1P8 and VDD1P5. The following code could be used:

Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/dcdc

Pulsed mode

Before entering pulsed mode, the target voltage should be locked. Also, there are some recommended setting.

Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/dcdc

Data Structures

struct  _dcdc_low_power_config
 Configuration for DCDC low power. More...
 
struct  _dcdc_loop_control_config
 Configuration for the loop control. More...
 
struct  _dcdc_min_power_config
 Configuration for min power setting. More...
 
struct  _dcdc_pulsed_integrator_config_t
 Configuration for the integrator in pulsed mode. More...
 

Macros

#define FSL_DCDC_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 DCDC driver version. More...
 

Typedefs

typedef enum _dcdc_work_mode dcdc_work_mode_t
 DCDC work mode in SoC's low power condition.
 
typedef enum
_dcdc_hysteretic_threshold_offset_value 
dcdc_hysteretic_threshold_offset_value_t
 Hysteretic upper/lower threshold value in low power mode.
 
typedef enum _dcdc_vbat_divider dcdc_vbat_divider_t
 VBAT voltage divider.
 
typedef enum _dcdc_clock_source_t dcdc_clock_source_t
 Oscillator clock option.
 
typedef struct
_dcdc_low_power_config 
dcdc_low_power_config_t
 Configuration for the low power.
 
typedef struct
_dcdc_loop_control_config 
dcdc_loop_control_config_t
 Configuration for the loop control.
 
typedef struct
_dcdc_min_power_config 
dcdc_min_power_config_t
 Configuration for min power setting.
 
typedef struct
_dcdc_pulsed_integrator_config_t 
dcdc_pulsed_integrator_config_t
 Configuration for the integrator in pulsed mode.
 

Enumerations

enum  _dcdc_status_flags_t {
  kDCDC_LockedOKStatus = (1U << 0),
  kDCDC_PSwitchStatus = (1U << 1),
  kDCDC_PSwitchInterruptStatus = (1U << 2)
}
 Status flags. More...
 
enum  _dcdc_interrupt_enable_t { kDCDC_PSwitchEdgeDetectInterruptEnable = DCDC_REG6_PSWITCH_INT_MUTE_MASK }
 Interrupts. More...
 
enum  _dcdc_pswitch_detect_event_t {
  kDCDC_PSwitchFallingEdgeDetectEnable = DCDC_REG6_PSWITCH_INT_FALL_EN_MASK,
  kDCDC_PSwitchRisingEdgeDetectEnable = DCDC_REG6_PSWITCH_INT_RISE_EN_MASK
}
 Events for PSWITCH signal(pin). More...
 
enum  _dcdc_work_mode {
  kDCDC_WorkInContinuousMode = 0U,
  kDCDC_WorkInPulsedMode = 1U
}
 DCDC work mode in SoC's low power condition. More...
 
enum  _dcdc_hysteretic_threshold_offset_value {
  kDCDC_HystereticThresholdOffset0mV = 0U,
  kDCDC_HystereticThresholdOffset25mV = 1U,
  kDCDC_HystereticThresholdOffset50mV = 2U,
  kDCDC_HystereticThresholdOffset75mV = 3U
}
 Hysteretic upper/lower threshold value in low power mode. More...
 
enum  _dcdc_vbat_divider {
  kDCDC_VBatVoltageDividerOff = 0U,
  kDCDC_VBatVoltageDivider1 = 1U,
  kDCDC_VBatVoltageDivider2 = 2U,
  kDCDC_VBatVoltageDivider4 = 3U
}
 VBAT voltage divider. More...
 
enum  _dcdc_clock_source_t { kDCDC_ClockAutoSwitch = 0U }
 Oscillator clock option. More...
 

Initialization and deinitialization

void DCDC_Init (DCDC_Type *base)
 Enable the access to DCDC registers. More...
 
void DCDC_Deinit (DCDC_Type *base)
 Disable the access to DCDC registers. More...
 

Status

uint32_t DCDC_GetStatusFlags (DCDC_Type *base)
 Get status flags. More...
 
void DCDC_ClearStatusFlags (DCDC_Type *base, uint32_t mask)
 Clear status flags. More...
 

Interrupts

static void DCDC_EnableInterrupts (DCDC_Type *base, uint32_t mask)
 Enable interrupts. More...
 
static void DCDC_DisableInterrupts (DCDC_Type *base, uint32_t mask)
 Disable interrupts. More...
 
void DCDC_SetPSwitchInterruptConfig (DCDC_Type *base, uint32_t mask)
 Configure the PSWITCH interrupts. More...
 

Misc control.

void DCDC_GetDefaultLowPowerConfig (dcdc_low_power_config_t *config)
 Get the default setting for low power configuration. More...
 
void DCDC_SetLowPowerConfig (DCDC_Type *base, const dcdc_low_power_config_t *config)
 Configure the low power for DCDC. More...
 
void DCDC_GetDefaultLoopControlConfig (dcdc_loop_control_config_t *config)
 Get the default setting for loop control configuration. More...
 
void DCDC_SetLoopControlConfig (DCDC_Type *base, const dcdc_loop_control_config_t *config)
 Configure the loop control for DCDC. More...
 
static void DCDC_EnableXtalOKDetectionCircuit (DCDC_Type *base, bool enable)
 Enable the XTAL OK detection circuit. More...
 
static void DCDC_EnableOutputRangeComparator (DCDC_Type *base, bool enable)
 Enable the output range comparator. More...
 
static void DCDC_EnableReduceCurrent (DCDC_Type *base, bool enable)
 Enable to reduce the DCDC current. More...
 
void DCDC_SetClockSource (DCDC_Type *base, dcdc_clock_source_t clockSource)
 Set the clock source for DCDC. More...
 
static void DCDC_SetBatteryVoltageDivider (DCDC_Type *base, dcdc_vbat_divider_t divider)
 Set the battery voltage divider for ADC sample. More...
 
void DCDC_SetBatteryMonitorValue (DCDC_Type *base, uint32_t battValue)
 Set battery monitor value. More...
 
static void DCDC_DoSoftShutdown (DCDC_Type *base)
 Software shutdown the DCDC module to stop the power supply for chip. More...
 
static void DCDC_SetUpperLimitDutyCycleBoost (DCDC_Type *base, uint32_t value)
 Set upper limit duty cycle limit in DCDC converter in Boost mode. More...
 
static void DCDC_SetUpperLimitDutyCycleBuck (DCDC_Type *base, uint32_t value)
 Set upper limit duty cycle limit in DCDC converter in Buck mode. More...
 
static void DCDC_AdjustDutyCycleSwitchingTargetOutput (DCDC_Type *base, uint32_t value)
 Adjust value of duty cycle when switching between VDD1P45 and VDD1P8. More...
 
static void DCDC_LockTargetVoltage (DCDC_Type *base)
 Lock the setting of target voltage. More...
 
void DCDC_AdjustTargetVoltage (DCDC_Type *base, uint32_t vdd1p5xBoost, uint32_t vdd1p5xBuck, uint32_t vdd1p8)
 Adjust the target voltage of DCDC output. More...
 
void DCDC_AdjustRunTargetVoltage (DCDC_Type *base, uint32_t vdd1p8)
 Adjust the regular target voltage of DCDC output. More...
 
void DCDC_AdjustLowPowerTargetVoltage (DCDC_Type *base, uint32_t vdd1p5xBoost, uint32_t vdd1p5xBuck)
 Adjust the low power target voltage of DCDC output. More...
 
void DCDC_GetDefaultMinPowerDefault (dcdc_min_power_config_t *config)
 Get the default configuration for min power. More...
 
void DCDC_SetMinPowerConfig (DCDC_Type *base, const dcdc_min_power_config_t *config)
 Configure for the min power. More...
 
void DCDC_GetDefaultPulsedIntegratorConfig (dcdc_pulsed_integrator_config_t *config)
 Get the default setting for integrator configuration in pulsed mode. More...
 
void DCDC_SetPulsedIntegratorConfig (DCDC_Type *base, const dcdc_pulsed_integrator_config_t *config)
 Configure the integrator in pulsed mode. More...
 

Data Structure Documentation

struct _dcdc_low_power_config

Configuration for the low power.

Data Fields

bool enableAdjustHystereticValue
 Adjust hysteretic value in low power from 12.5mV to 25mV. More...
 
dcdc_work_mode_t workModeInVLPRW
 Select the behavior of DCDC in device VLPR and VLPW low power modes. More...
 
dcdc_work_mode_t workModeInVLPS
 Select the behavior of DCDC in device VLPS low power modes. More...
 
bool enableHysteresisVoltageSense
 Enable hysteresis in low power voltage sense. More...
 
bool enableAdjustHystereticValueSense
 Adjust hysteretic value in low power voltage sense. More...
 
bool enableHystersisComparator
 Enable hysteresis in low power comparator. More...
 
bool enableAdjustHystereticValueComparator
 Adjust hysteretic value in low power comparator. More...
 
dcdc_hysteretic_threshold_offset_value_t hystereticUpperThresholdValue
 Configure the hysteretic upper threshold value in low power mode. More...
 
dcdc_hysteretic_threshold_offset_value_t hystereticLowerThresholdValue
 Configure the hysteretic lower threshold value in low power mode. More...
 
bool enableDiffComparators
 Enable low power differential comparators, to sense lower supply in pulsed mode. More...
 

Field Documentation

bool _dcdc_low_power_config::enableAdjustHystereticValue
dcdc_work_mode_t _dcdc_low_power_config::workModeInVLPRW
dcdc_work_mode_t _dcdc_low_power_config::workModeInVLPS
bool _dcdc_low_power_config::enableHysteresisVoltageSense
bool _dcdc_low_power_config::enableAdjustHystereticValueSense
bool _dcdc_low_power_config::enableHystersisComparator
bool _dcdc_low_power_config::enableAdjustHystereticValueComparator
dcdc_hysteretic_threshold_offset_value_t _dcdc_low_power_config::hystereticUpperThresholdValue
dcdc_hysteretic_threshold_offset_value_t _dcdc_low_power_config::hystereticLowerThresholdValue
bool _dcdc_low_power_config::enableDiffComparators
struct _dcdc_loop_control_config

Data Fields

bool enableCommonHysteresis
 Enable hysteresis in switching converter common mode analog comparators. More...
 
bool enableCommonThresholdDetection
 Increase the threshold detection for common mode analog comparator. More...
 
bool enableDifferentialHysteresis
 Enable hysteresis in switching converter differential mode analog comparators. More...
 
bool enableDifferentialThresholdDetection
 Increase the threshold detection for differential mode analog comparators. More...
 
bool enableInvertHysteresisSign
 Invert the sign of the hysteresis in DC-DC analog comparators. More...
 
bool enableRCThresholdDetection
 Increase the threshold detection for RC scale circuit. More...
 
uint32_t enableRCScaleCircuit
 Available range is 0~7. More...
 
uint32_t complementFeedForwardStep
 Available range is 0~7. More...
 
uint32_t controlParameterMagnitude
 Available range is 0~15. More...
 
uint32_t integralProportionalRatio
 Available range is 0~3.Ratio of integral control parameter to proportional control parameter in the switching DC-DC converter, and can be used to optimize efficiency and loop response. More...
 
bool enableDiffHysteresis
 Enable hysteresis in switching converter differential mode analog comparators. More...
 
bool enableDiffHysteresisThresh
 This field act the same rule as enableDiffHysteresis. More...
 
bool enableCommonHysteresisThresh
 This field act the same rule as enableCommonHysteresis. More...
 

Field Documentation

bool _dcdc_loop_control_config::enableCommonHysteresis

This feature will improve transient supply ripple and efficiency.

This feature improves transient supply ripple and efficiency.

bool _dcdc_loop_control_config::enableCommonThresholdDetection
bool _dcdc_loop_control_config::enableDifferentialHysteresis

This feature will improve transient supply ripple and efficiency.

bool _dcdc_loop_control_config::enableDifferentialThresholdDetection
bool _dcdc_loop_control_config::enableInvertHysteresisSign
bool _dcdc_loop_control_config::enableRCThresholdDetection
uint32_t _dcdc_loop_control_config::enableRCScaleCircuit

Enable analog circuit of DC-DC converter to respond faster under transient load conditions.

uint32_t _dcdc_loop_control_config::complementFeedForwardStep

Two's complement feed forward step in duty cycle in the switching DC-DC converter. Each time this field makes a transition from 0x0, the loop filter of the DC-DC converter is stepped once by a value proportional to the change. This can be used to force a certain control loop behavior, such as improving response under known heavy load transients.

uint32_t _dcdc_loop_control_config::controlParameterMagnitude

Magnitude of proportional control parameter in the switching DC-DC converter control loop.

uint32_t _dcdc_loop_control_config::integralProportionalRatio
bool _dcdc_loop_control_config::enableDiffHysteresis

This feature improves transient supply ripple and efficiency.

bool _dcdc_loop_control_config::enableDiffHysteresisThresh

However, if this field is enabled along with the enableDiffHysteresis, the Hysteresis wuold be doubled.

bool _dcdc_loop_control_config::enableCommonHysteresisThresh

However, if this field is enabled along with the enableCommonHysteresis, the Hysteresis wuold be doubled.

struct _dcdc_min_power_config

Data Fields

bool enableUseHalfFreqForContinuous
 Set DCDC clock to half frequency for the continuous mode. More...
 
bool enableUseHalfFetForContinuous
 Use half switch FET for the continuous mode. More...
 
bool enableUseDoubleFetForContinuous
 Use double switch FET for the continuous mode. More...
 
bool enableUseHalfFetForPulsed
 Use half switch FET for the Pulsed mode. More...
 
bool enableUseDoubleFetForPulsed
 Use double switch FET for the Pulsed mode. More...
 
bool enableUseHalfFreqForPulsed
 Set DCDC clock to half frequency for the Pulsed mode. More...
 

Field Documentation

bool _dcdc_min_power_config::enableUseHalfFreqForContinuous
bool _dcdc_min_power_config::enableUseHalfFetForContinuous
bool _dcdc_min_power_config::enableUseDoubleFetForContinuous
bool _dcdc_min_power_config::enableUseHalfFetForPulsed
bool _dcdc_min_power_config::enableUseDoubleFetForPulsed
bool _dcdc_min_power_config::enableUseHalfFreqForPulsed
struct _dcdc_pulsed_integrator_config_t

Data Fields

bool enableUseUserIntegratorValue
 Enable to use the setting value in userIntegratorValue field. More...
 
uint32_t userIntegratorValue
 User defined integrator value. More...
 
bool enablePulseRunSpeedup
 Enable pulse run speedup. More...
 

Field Documentation

bool _dcdc_pulsed_integrator_config_t::enableUseUserIntegratorValue

Otherwise, the predefined hardware setting would be applied internally.

uint32_t _dcdc_pulsed_integrator_config_t::userIntegratorValue

The available value is 19-bit.

bool _dcdc_pulsed_integrator_config_t::enablePulseRunSpeedup

Macro Definition Documentation

#define FSL_DCDC_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))

Version 2.1.0.

Enumeration Type Documentation

Enumerator
kDCDC_LockedOKStatus 

Status to indicate DCDC lock.

Read only bit.

kDCDC_PSwitchStatus 

Status to indicate PSWITCH signal.

Read only bit.

kDCDC_PSwitchInterruptStatus 

PSWITCH edge detection interrupt status.

Enumerator
kDCDC_PSwitchEdgeDetectInterruptEnable 

Enable the edge detect interrupt.

Enumerator
kDCDC_PSwitchFallingEdgeDetectEnable 

Enable falling edge detect.

kDCDC_PSwitchRisingEdgeDetectEnable 

Enable rising edge detect.

Enumerator
kDCDC_WorkInContinuousMode 

DCDC works in continuous mode when SOC is in low power mode.

kDCDC_WorkInPulsedMode 

DCDC works in pulsed mode when SOC is in low power mode.

Enumerator
kDCDC_HystereticThresholdOffset0mV 

Target voltage value +/- 0mV.

kDCDC_HystereticThresholdOffset25mV 

Target voltage value +/- 25mV.

kDCDC_HystereticThresholdOffset50mV 

Target voltage value +/- 50mV.

kDCDC_HystereticThresholdOffset75mV 

Target voltage value +/- 75mV.

Enumerator
kDCDC_VBatVoltageDividerOff 

The sensor signal is disabled.

kDCDC_VBatVoltageDivider1 

VBat.

kDCDC_VBatVoltageDivider2 

VBat/2.

kDCDC_VBatVoltageDivider4 

VBat/4.

Enumerator
kDCDC_ClockAutoSwitch 

Automatic clock switch from internal oscillator to external clock.

Function Documentation

void DCDC_Init ( DCDC_Type *  base)
Parameters
baseDCDC peripheral base address.
void DCDC_Deinit ( DCDC_Type *  base)
Parameters
baseDCDC peripheral base address.
uint32_t DCDC_GetStatusFlags ( DCDC_Type *  base)

base DCDC peripheral base address.

Returns
Masks of asserted status flags. See to "_dcdc_status_flags_t".
void DCDC_ClearStatusFlags ( DCDC_Type *  base,
uint32_t  mask 
)

base DCDC peripheral base address. mask Mask of status values that would be cleared. See to "_dcdc_status_flags_t".

static void DCDC_EnableInterrupts ( DCDC_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
maskMask of interrupt events that would be enabled. See to "_dcdc_interrupt_enable_t".
static void DCDC_DisableInterrupts ( DCDC_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
maskMask of interrupt events that would be disabled. See to "_dcdc_interrupt_enable_t".
void DCDC_SetPSwitchInterruptConfig ( DCDC_Type *  base,
uint32_t  mask 
)

There are PSWITCH interrupt events can be triggered by falling edge or rising edge. So user can set the interrupt events that would be triggered with this function. Un-asserted events would be disabled. The interrupt of PSwitch should be enabled as well if to sense the PSWTICH event. By default, no interrupt events would be enabled.

Parameters
baseDCDC peripheral base address.
maskMask of interrupt events for PSwtich. See to "_dcdc_pswitch_detect_event_t".
void DCDC_GetDefaultLowPowerConfig ( dcdc_low_power_config_t config)

The default configuration are set according to responding registers' setting when powered on. They are:

* config->workModeInVLPRW = kDCDC_WorkInPulsedMode;
* config->workModeInVLPS = kDCDC_WorkInPulsedMode;
* config->enableHysteresisVoltageSense = true;
* config->enableAdjustHystereticValueSense = false;
* config->enableHystersisComparator = true;
* config->enableAdjustHystereticValueComparator = false;
* config->hystereticUpperThresholdValue = kDCDC_HystereticThresholdOffset75mV;
* config->hystereticLowerThresholdValue = kDCDC_HystereticThresholdOffset0mV;
* config->enableDiffComparators = false;
*
Parameters
configPointer to configuration structure. See to "dcdc_low_power_config_t".
void DCDC_SetLowPowerConfig ( DCDC_Type *  base,
const dcdc_low_power_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to "dcdc_low_power_config_t".
void DCDC_GetDefaultLoopControlConfig ( dcdc_loop_control_config_t config)

The default configuration are set according to responding registers' setting when powered on. They are:

* config->enableDiffHysteresis = false;
* config->enableCommonHysteresis = false;
* config->enableDiffHysteresisThresh = false;
* config->enableCommonHysteresisThresh = false;
* config->enableInvertHysteresisSign = false;
*
Parameters
configPointer to configuration structure. See to "dcdc_loop_control_config_t".
void DCDC_SetLoopControlConfig ( DCDC_Type *  base,
const dcdc_loop_control_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to "dcdc_loop_control_config_t".
static void DCDC_EnableXtalOKDetectionCircuit ( DCDC_Type *  base,
bool  enable 
)
inlinestatic

The XTAL OK detection circuit is enabled by default.

Parameters
baseDCDC peripheral base address.
enableEnable the feature or not.
static void DCDC_EnableOutputRangeComparator ( DCDC_Type *  base,
bool  enable 
)
inlinestatic

The output range comparator is enabled by default.

Parameters
baseDCDC peripheral base address.
enableEnable the feature or not.
static void DCDC_EnableReduceCurrent ( DCDC_Type *  base,
bool  enable 
)
inlinestatic

To enable this feature will save approximately 20 µA in RUN mode. This feature is disabled by default.

Parameters
baseDCDC peripheral base address.
enableEnable the feature or not.
void DCDC_SetClockSource ( DCDC_Type *  base,
dcdc_clock_source_t  clockSource 
)

This function is to set the clock source for DCDC. By default, DCDC can switch the clock from internal oscillator to external clock automatically. Once the application choose to use the external clock with function, the internal oscillator would be powered down. However, the internal oscillator could be powered down only when 32MHz crystal oscillator is available.

Parameters
baseDCDC peripheral base address.
clockSourceClock source for DCDC. See to "dcdc_clock_source_t".
static void DCDC_SetBatteryVoltageDivider ( DCDC_Type *  base,
dcdc_vbat_divider_t  divider 
)
inlinestatic

This function controls VBAT voltage divider. The divided VBAT output is input to an ADC channel which allows the battery voltage to be measured.

Parameters
baseDCDC peripheral base address.
dividerSetting divider selection. See to "dcdc_vbat_divider_t"
void DCDC_SetBatteryMonitorValue ( DCDC_Type *  base,
uint32_t  battValue 
)

This function is to set the battery monitor value. If the feature of monitoring battery voltage is enabled (with non-zero value set), user should set the battery voltage measured with an 8 mV LSB resolution from the ADC sample channel. It would improve efficiency and minimize ripple.

Parameters
baseDCDC peripheral base address.
battValueBattery voltage measured with an 8 mV LSB resolution with 10-bit ADC sample. Setting 0x0 would disable feature of monitoring battery voltage.
static void DCDC_DoSoftShutdown ( DCDC_Type *  base)
inlinestatic

This function is to shutdown the DCDC module and stop the power supply for chip. In case the chip is powered by DCDC, which means the DCDC is working as Buck/Boost mode, to shutdown the DCDC would cause the chip to reset! Then, the DCDC_REG4_DCDC_SW_SHUTDOWN bit would be cleared automatically during power up sequence. If the DCDC is in bypass mode, which depends on the board's hardware connection, to shutdown the DCDC would not be meaningful.

Parameters
baseDCDC peripheral base address.
static void DCDC_SetUpperLimitDutyCycleBoost ( DCDC_Type *  base,
uint32_t  value 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
valueSetting value for limit duty cycle. Available range is 0-127.
static void DCDC_SetUpperLimitDutyCycleBuck ( DCDC_Type *  base,
uint32_t  value 
)
inlinestatic
Parameters
baseDCDC peripheral base address.
valueSetting value for limit duty cycle. Available range is 0-127.
static void DCDC_AdjustDutyCycleSwitchingTargetOutput ( DCDC_Type *  base,
uint32_t  value 
)
inlinestatic

Adjust value of duty cycle when switching between VDD1P45 and VDD1P8. The unit is 1/32 or 3.125%.

Parameters
baseDCDC peripheral base address.
valueSetting adjust value. The available range is 0-15. The unit is 1/32 or 3.125&.
static void DCDC_LockTargetVoltage ( DCDC_Type *  base)
inlinestatic

This function is to lock the setting of target voltage. This function should be called before entering the low power modes to lock the target voltage.

Parameters
baseDCDC peripheral base address.
void DCDC_AdjustTargetVoltage ( DCDC_Type *  base,
uint32_t  vdd1p5xBoost,
uint32_t  vdd1p5xBuck,
uint32_t  vdd1p8 
)
Deprecated:
Do not use this function. It has been superceded by DCDC_AdjustRunTargetVoltage and DCDC_AdjustLowPowerTargetVoltage

This function is to adjust the target voltage of DCDC output. It would unlock the setting of target voltages, change them and finally wait until the output is stabled.

Parameters
baseDCDC peripheral base address.
vdd1p5xBoostTarget value of VDD1P5X in boost mode, 25 mV each step from 0x00 to 0x0F. 0x00 is for 1.275V.
vdd1p5xBuckTarget value of VDD1P5X in buck mode, 25 mV each step from 0x00 to 0x0F. 0x00 is for 1.275V.
vdd1p8Target value of VDD1P8, 25 mV each step in two ranges, from 0x00 to 0x11 and 0x20 to 0x3F. 0x00 is for 1.65V, 0x20 is for 2.8V.
void DCDC_AdjustRunTargetVoltage ( DCDC_Type *  base,
uint32_t  vdd1p8 
)

This function is to adjust the target voltage of DCDC output. It would unlock the setting of target voltages, change them and finally wait until the output is stabled.

Parameters
baseDCDC peripheral base address.
vdd1p8Target value of VDD1P8, 25 mV each step in two ranges, from 0x00 to 0x11 and 0x20 to 0x3F. 0x00 is for 1.65V, 0x20 is for 2.8V.
void DCDC_AdjustLowPowerTargetVoltage ( DCDC_Type *  base,
uint32_t  vdd1p5xBoost,
uint32_t  vdd1p5xBuck 
)

This function is to adjust the target voltage of DCDC output. It would unlock the setting of target voltages, change them and finally wait until the output is stabled.

Parameters
baseDCDC peripheral base address.
vdd1p5xBoostTarget value of VDD1P5X in boost mode, 25 mV each step from 0x00 to 0x0F. 0x00 is for 1.275V.
vdd1p5xBuckTarget value of VDD1P5X in buck mode, 25 mV each step from 0x00 to 0x0F. 0x00 is for 1.275V.
void DCDC_GetDefaultMinPowerDefault ( dcdc_min_power_config_t config)

The default configuration are set according to responding registers' setting when powered on. They are:

* config->enableUseHalfFetForContinuous = false;
* config->enableUseDoubleFetForContinuous = false;
* config->enableUseHalfFreqForContinuous = false;
* config->enableUseHalfFetForPulsed = false;
* config->enableUseDoubleFetForPulsed = false;
* config->enableUseHalfFreqForPulsed = false;
*
Parameters
configPointer to configuration structure. See to "dcdc_min_power_config_t".
void DCDC_SetMinPowerConfig ( DCDC_Type *  base,
const dcdc_min_power_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to "dcdc_min_power_config_t".
void DCDC_GetDefaultPulsedIntegratorConfig ( dcdc_pulsed_integrator_config_t config)

The default configuration are set according to responding registers' setting when powered on. They are:

* config->enableUseUserIntegratorValue = false;
* config->userIntegratorValue = 0U;
* config->enablePulseRunSpeedup = false;
*
Parameters
configPointer to configuration structure. See to "dcdc_pulsed_integrator_config_t".
void DCDC_SetPulsedIntegratorConfig ( DCDC_Type *  base,
const dcdc_pulsed_integrator_config_t config 
)
Parameters
baseDCDC peripheral base address.
configPointer to configuration structure. See to "dcdc_pulsed_integrator_config_t".